/* Araujo Heiker CI. 19726991
 * Goyo Willandher CI.20666542
 * Rodriguez Rafael CI.20009872
 * Williams Roman CI.20016812 
 * Morett Gilberth CI.20929667*/

package controlador;

import java.awt.event.ActionEvent;

import modelo.Drogueria;
import modelo.Linea;
import vista.VentanaLinea;
import java.awt.event.ActionListener;
import controlador.ControladorListaLinea;


public class ControladorVentanaLinea implements ActionListener {

	private VentanaLinea ventanalinea;
	
	private Drogueria drogueria;
	

	public ControladorVentanaLinea(Drogueria drogueria) {
		super();

		ventanalinea = new VentanaLinea();
		ventanalinea.agregarListener(this);
		ventanalinea.setLocationRelativeTo(null);
		ventanalinea.setVisible(true);
		this.drogueria = drogueria;
		this.generarCodigoLinea();

	}
	
	//Metodo que permite generar el codigo de una linea

	public void generarCodigoLinea() {

		int e = drogueria.cantidadLineas() + 1;
		String numero;
		if(e>=0 && e<=9){
			numero = "L-"+0 + e;	
		}else{
			numero="L-"+e;
		}
		
		ventanalinea.setjTxtnumerolinea(numero);
	}

	public void actionPerformed(ActionEvent e) {
		if (e.getActionCommand().equalsIgnoreCase("Guardar")) {
			incluirLinea();
		} else if (e.getActionCommand().equalsIgnoreCase("Eliminar")) {
			
		}

	}
    
	// Metodo que permite registrar una determinada linea 
	
	public void incluirLinea() {

		if (ventanalinea.getjTxtclasificacion().equals("")) {
			ventanalinea.mostrarMensaje("Por favor introduce el nombre:");
		} else {
			String clasificacion;
			String numero;
			clasificacion = ventanalinea.getjTxtclasificacion();
			numero = ventanalinea.getjTxtnumerolinea();
			Linea linea = new Linea();
			linea.setNumeroLinea(numero);
			linea.setClasificacion(clasificacion);
			linea.setEstaus(Linea.ACTIVO);
			drogueria.incluirLineas(linea);
			ventanalinea.mostrarMensaje("Registro con exito");
			clickCerraLinea();
		}

	}

	public void eliminarProducto() {
		
		String codigoLinea = ventanalinea.getjTxtnumerolinea();
		int cantLineas =drogueria.cantidadLineas(); 
		
		for(int i=0;i<cantLineas;i++)
		{
			if(codigoLinea.equals(drogueria.getUnaLinea(i).getCodigoLinea()))
			 drogueria.getLineas().remove(i);
			 
		}
	
}

	public void clickCerraLinea() {

		try {

			ventanalinea.dispose();
			this.finalize();
		} catch (Throwable e1) {
			e1.printStackTrace();
		} finally {
			new ControladorListaLinea(drogueria);

		}
	}
}
